home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / atari / c / stut_src / svrdwnld.c < prev    next >
Text File  |  1996-05-27  |  4KB  |  173 lines

  1. /*
  2.  * SvrDwnLd.c
  3.  *
  4.  * Purpose:
  5.  * -------- 
  6.  * T‚l‚chargement d'un fichier
  7.  *
  8.  * History:
  9.  * --------
  10.  * 22.01.95: fplanque: Created
  11.  */
  12.  
  13.  
  14.      #include "!OPTIONS.H"                /* Options de compilation */         
  15.     #define    THIS_FILE    "SVRDWNLD.C v1.00 - 04.95"
  16.           
  17.  
  18. /*
  19.  * System headers:
  20.  */
  21.     #include    <stdio.h>                    /* header standard */
  22.     #include <string.h>                    /* header tt de chaines */
  23.     #include    <stdlib.h>                    /* Pour malloc etc.. */
  24.  
  25. /*
  26.  * Custom headers:
  27.  */
  28.     #include "SPEC_PU.H"
  29.  
  30.     #include "DEF_ARBO.H"
  31.     #include    "DEBUG_PU.H"    
  32.     #include    "SERV_PU.H"
  33.     #include "USLTP_PU.H"    
  34.     #include "SERCOMPU.H"
  35.     #include "TEXT_PU.H"
  36.     #include "LINE0_PU.H"
  37.         
  38. /*            
  39.  * --------------------------- METHODES -------------------------------
  40.  */
  41.  
  42.  
  43. /*
  44.  * DownLoad_ENPG(-)
  45.  *
  46.  * Purpose:
  47.  * --------
  48.  * Traitrement des initialisations ENTER PAGE
  49.  *
  50.  * History:
  51.  * --------
  52.  * 12.04.95: fplanque: Created
  53.  * 14.10.95: affiche nom du fichier a telecharger
  54.  */
  55. BOOL    DownLoad_ENPG(                        /* Out: TRUE_1 s'il faut stopper la connexion */
  56.             VOIE    *    pVoie_curr )        /* In:  Voie concern‚e */
  57. {
  58.     USLTP_CTRLBLK * pUCtl;
  59.     
  60.     if( pVoie_curr -> pMsz_VFile == NULL )
  61.     {
  62.         aff_msg_l0( pVoie_curr, "Pas de fichier … envoyer!" );
  63.         add_textinf( pVoie_curr -> wi_params, "  WARNING: Pas de fichier a envoyer!" );
  64.         if( follow_ArboLink( pVoie_curr, FL_NOFILE ) == FALSE )
  65.         {    /*
  66.              * Pas de page arbo pour prendre le relais:
  67.              * Il faut stopper la connexion:
  68.              */
  69.             ping();
  70.             add_textinf( pVoie_curr -> wi_params, "ERREUR: Impossible de continuer" );
  71.             return TRUE_1;
  72.         }
  73.         return FALSE0;
  74.     }
  75.  
  76.     sprintf( G_tmp_buffer, "  Fichier … envoyer: %s", pVoie_curr -> pMsz_VFile );
  77.     add_textinf( pVoie_curr -> wi_params, G_tmp_buffer );
  78.     
  79.     /*
  80.      * Initialise une session USLTP:
  81.      */
  82.     pUCtl =    USLTP_Session_Open(
  83.                     pVoie_curr -> device,
  84.                     pVoie_curr -> device,
  85.                     pVoie_curr -> pMsz_VFile,
  86.                     pVoie_curr,
  87.                     pVoie_curr -> wi_params );
  88.     pVoie_curr -> pUCtl = pUCtl;
  89.  
  90.     /*
  91.      * Lance la machine USLTP :)
  92.      */
  93.     register_action( pVoie_curr, DWLD, 0, 0, NULL );
  94.  
  95.     return    FALSE0;
  96. }
  97.  
  98.  
  99. /*
  100.  * DownLoad_USLTP(-)
  101.  *
  102.  * Purpose:
  103.  * --------
  104.  * Traitement envoi de fichiers par USLTP
  105.  *
  106.  * History:
  107.  * --------
  108.  * 12.04.95: fplanque: Created
  109.  * 13.07.95: fplanque: renvoi d'un falg si deco
  110.  * 14.10.95: stoppe cnx si pas de page arbo suivante
  111.  */
  112. BOOL    DownLoad_USLTP(                    /* Out: TRUE_1 si fin_cnx */
  113.             VOIE    *    pVoie_curr )        /* In:  Voie concern‚e */
  114. {
  115.     /*
  116.      * Passe le controle a USLTP:
  117.      */
  118.     switch( USLTP_Session_Process( pVoie_curr -> pUCtl ) )
  119.     {
  120.         case    UPROCESS_CONTINUE:
  121.             /*
  122.              * Changement de tƒche (multitache coop‚ratif):
  123.              */
  124.             return    FALSE0;
  125.  
  126.         case    UPROCESS_END:
  127.         {    /*
  128.              * Si USLTP a fini:
  129.              */
  130.             USLTP_Session_Close( pVoie_curr -> pUCtl );
  131.  
  132.             /*
  133.              * Changement de page:
  134.              */    
  135.             if( follow_ArboLink( pVoie_curr, FL_NEXT ) == FALSE0 )
  136.             {    /*
  137.                  * Pas de page arbo pour prendre le relais:
  138.                  * Il faut stopper la connexion
  139.                  */
  140.                 ping();
  141.                 add_textinf( pVoie_curr -> wi_params, "ERREUR: Impossible de continuer" );
  142.                 return    TRUE_1;
  143.             }
  144.             return    FALSE0;
  145.         }
  146.             
  147.         case    UPROCESS_LOGICAL_HUP:
  148.             /*
  149.              * Appui sur cnx fin:
  150.              */
  151.             USLTP_Session_Close( pVoie_curr -> pUCtl );
  152.         
  153.             return    TRUE_1;
  154.         
  155.         case    UPROCESS_PHYSICAL_HUP:
  156.             /*
  157.              * D‚co physique:
  158.              * Signale dans flags: 
  159.              */
  160.             pVoie_curr -> state .log_modemcnx = FALSE0;    /* Modem d‚connect‚ */
  161.             pVoie_curr -> state .phys_modemcnx = FALSE0;    /* Modem d‚connect‚ */
  162.  
  163.             USLTP_Session_Close( pVoie_curr -> pUCtl );
  164.  
  165.             return    TRUE_1;
  166.     }
  167.  
  168.  
  169.     signale( "Download ne passe pas ou il faut :-(" );
  170.     return    TRUE_1;
  171.     
  172. }
  173.